package com.coc.entity.system;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;

/**
 * 用户表(SysUser)表实体类
 *
 * @author songju
 * @since 2020-02-11 17:38:30
 */
@SuppressWarnings("serial")
public class SysUser extends Model<SysUser> {
    /**
     * AUTO : AUTO(0, “数据库ID自增”),
     * INPUT : INPUT(1, “用户输入ID”),
     * ID_WORKER : ID_WORKER(2, “全局唯一ID”),
     * UUID : UUID(3, “全局唯一ID”),
     * NONE : NONE(4, “该类型为未设置主键类型”),
     * ID_WORKER_STR : ID_WORKER_STR(5, “字符串全局唯一ID”);
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;
    //用户名
    private String username;
    //真实姓名
    private String realname;
    //手机号
    private String mobile;
    //邮箱
    private String email;
    //密码
    private String password;
    //添加该用户的用户id
    private Integer insertUid;
    //注册时间
    private Date insertTime;
    //修改时间
    private Date updateTime;
    //是否删除（0：正常；1：已删）
    private Integer isDel;
    //是否在职（0：正常；1，离职）
    private Integer isJob;
    //账号是否可用。默认为0（可用）
    private Integer enabled;
    //是否过期。默认为0（没有过期）
    private Integer notExpired;
    //账号是否锁定。默认为0（没有锁定）
    private Integer accountNotLocked;
    //证书（密码）是否过期。默认为0（没有过期）
    private Integer credentialsNotExpired;
    @TableField(exist = false)
    private String token;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getInsertUid() {
        return insertUid;
    }

    public void setInsertUid(Integer insertUid) {
        this.insertUid = insertUid;
    }

    public Date getInsertTime() {
        return insertTime;
    }

    public void setInsertTime(Date insertTime) {
        this.insertTime = insertTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    public Integer getIsJob() {
        return isJob;
    }

    public void setIsJob(Integer isJob) {
        this.isJob = isJob;
    }

    public Integer getEnabled() {
        return enabled;
    }

    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    public Integer getNotExpired() {
        return notExpired;
    }

    public void setNotExpired(Integer notExpired) {
        this.notExpired = notExpired;
    }

    public Integer getAccountNotLocked() {
        return accountNotLocked;
    }

    public void setAccountNotLocked(Integer accountNotLocked) {
        this.accountNotLocked = accountNotLocked;
    }

    public Integer getCredentialsNotExpired() {
        return credentialsNotExpired;
    }

    public void setCredentialsNotExpired(Integer credentialsNotExpired) {
        this.credentialsNotExpired = credentialsNotExpired;
    }


    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getRealname() {
        return realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    }